using System;
using System.Collections.Generic;
using ns26;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("GameMenu")]
	public class GameMenu : ButtonListMenu
	{
		public Vector3 m_ratingsObjectMinPadding => method_2<Vector3>("m_ratingsObjectMinPadding");

		public Transform m_menuBone => method_3<Transform>("m_menuBone");

		public Material m_redButtonMaterial => method_3<Material>("m_redButtonMaterial");

		public GameMenuBase m_gameMenuBase => method_3<GameMenuBase>("m_gameMenuBase");

		public UIBButton m_concedeButton => method_3<UIBButton>("m_concedeButton");

		public UIBButton m_leaveButton => method_3<UIBButton>("m_leaveButton");

		public UIBButton m_restartButton => method_3<UIBButton>("m_restartButton");

		public UIBButton m_quitButton => method_3<UIBButton>("m_quitButton");

		public UIBButton m_optionsButton => method_3<UIBButton>("m_optionsButton");

		public Notification m_loginButtonPopup => method_3<Notification>("m_loginButtonPopup");

		public bool m_hasSeenLoginTooltip => method_2<bool>("m_hasSeenLoginTooltip");

		public GameObject m_ratingsObject => method_3<GameObject>("m_ratingsObject");

		public Vector3 BUTTON_SCALE => method_2<Vector3>("BUTTON_SCALE");

		public Vector3 BUTTON_SCALE_PHONE => method_2<Vector3>("BUTTON_SCALE_PHONE");

		public GameMenu(IntPtr address, string className)
			: base(address, className)
		{
		}

		public GameMenu(IntPtr address)
			: this(address, "GameMenu")
		{
		}

		public static GameMenu Get()
		{
			return MonoClass.smethod_15<GameMenu>(TritonHs.MainAssemblyPath, "", "GameMenu", "Get", Array.Empty<object>());
		}

		public static bool IsInGameMenu()
		{
			return MonoClass.smethod_14<bool>(TritonHs.MainAssemblyPath, "", "GameMenu", "IsInGameMenu", Array.Empty<object>());
		}

		public new void Awake()
		{
			method_8("Awake");
		}

		public new void OnDestroy()
		{
			method_8("OnDestroy");
		}

		public void Start()
		{
			method_8("Start");
		}

		public bool GameMenuIsShown()
		{
			return method_11<bool>("GameMenuIsShown", Array.Empty<object>());
		}

		public void GameMenuShow()
		{
			method_8("GameMenuShow");
		}

		public void GameMenuHide()
		{
			method_8("GameMenuHide");
		}

		public void GameMenuShowOptionsMenu()
		{
			method_8("GameMenuShowOptionsMenu");
		}

		public GameObject GameMenuGetGameObject()
		{
			return method_14<GameObject>("GameMenuGetGameObject", Array.Empty<object>());
		}

		public new void Show()
		{
			method_8("Show");
		}

		public new void Hide()
		{
			method_8("Hide");
		}

		public void ShowLoginTooltipIfNeeded()
		{
			method_8("ShowLoginTooltipIfNeeded");
		}

		public void HideLoginTooltip()
		{
			method_8("HideLoginTooltip");
		}

		public void ShowOptionsMenu()
		{
			method_8("ShowOptionsMenu");
		}

		public new List<UIBButton> GetButtons()
		{
			return method_14<Class271<UIBButton>>("GetButtons", Array.Empty<object>())?.method_25();
		}

		public new void LayoutMenu()
		{
			method_8("LayoutMenu");
		}

		public void QuitButtonPressed(UIEvent e)
		{
			method_8("QuitButtonPressed", e);
		}

		public void LogoutButtonPressed(UIEvent e)
		{
			method_8("LogoutButtonPressed", e);
		}

		public void ConcedeButtonPressed(UIEvent e)
		{
			method_8("ConcedeButtonPressed", e);
		}

		public void LeaveButtonPressed(UIEvent e)
		{
			method_8("LeaveButtonPressed", e);
		}

		public void RestartButtonPressed(UIEvent e)
		{
			method_8("RestartButtonPressed", e);
		}

		public void OptionsButtonPressed(UIEvent e)
		{
			method_8("OptionsButtonPressed", e);
		}

		public void LoadRatings()
		{
			method_8("LoadRatings");
		}

		public void MakeButtonRed(UIBButton button)
		{
			method_8("MakeButtonRed", button);
		}
	}
}
